home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / AIncludes / CodeFragments.a < prev    next >
Encoding:
Text File  |  1998-02-12  |  16.8 KB  |  553 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        CodeFragments.a
  3. ;
  4. ;    Contains:    Public Code Fragment Manager Interfaces.
  5. ;
  6. ;    Version:    Technology:    Mac OS 8.1
  7. ;                Release:    Universal Interfaces 3.1
  8. ;
  9. ;    Copyright:    © 1992-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.  
  19. ;   •
  20. ;   ===========================================================================================
  21. ;   The Code Fragment Manager API
  22. ;   =============================
  23.  
  24.  
  25.  
  26.  
  27.     IF &TYPE('__CODEFRAGMENTS__') = 'UNDEFINED' THEN
  28. __CODEFRAGMENTS__ SET 1
  29.  
  30.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  31.     include 'MacTypes.a'
  32.     ENDIF
  33.     IF &TYPE('__FILES__') = 'UNDEFINED' THEN
  34.     include 'Files.a'
  35.     ENDIF
  36.  
  37.  
  38. ;   §
  39. ;   ===========================================================================================
  40. ;   General Types and Constants
  41. ;   ===========================
  42.  
  43.  
  44.  
  45.  
  46.  
  47. kCFragResourceType                EQU        'cfrg'
  48. kCFragResourceID                EQU        0
  49. kCFragLibraryFileType            EQU        'shlb'
  50. kCFragAllFileTypes                EQU        $FFFFFFFF
  51.  
  52. ; typedef OSType                         CFragArchitecture
  53.  
  54.  
  55. kPowerPCCFragArch                EQU        'pwpc'
  56. kMotorola68KCFragArch            EQU        'm68k'
  57. kAnyCFragArch                    EQU        $3F3F3F3F
  58.     IF TARGET_CPU_PPC THEN
  59.  
  60. kCompiledCFragArch                EQU        'pwpc'
  61.     ENDIF    ; TARGET_CPU_PPC
  62.     IF TARGET_CPU_68K THEN
  63.  
  64. kCompiledCFragArch                EQU        'm68k'
  65.     ENDIF    ; TARGET_CPU_68K
  66. ; typedef UInt32                         CFragVersionNumber
  67.  
  68.  
  69. kNullCFragVersion                EQU        0
  70. kWildcardCFragVersion            EQU        $FFFFFFFF
  71.  
  72. ; typedef UInt8                         CFragUsage
  73.  
  74.  
  75. kImportLibraryCFrag                EQU        0                    ; Standard CFM import library.
  76. kApplicationCFrag                EQU        1                    ; MacOS application.
  77. kDropInAdditionCFrag            EQU        2                    ; Application or library private extension/plug-in
  78. kStubLibraryCFrag                EQU        3                    ; Import library used for linking only
  79. kWeakStubLibraryCFrag            EQU        4                    ; Import library used for linking only and will be automatically weak linked
  80.  
  81.  
  82. kIsCompleteCFrag                EQU        0                    ; A "base" fragment, not an update.
  83. kFirstCFragUpdate                EQU        1                    ; The first update, others are numbered 2, 3, ...
  84.  
  85.  
  86. kCFragGoesToEOF                    EQU        0
  87.  
  88.  
  89.  
  90. ; typedef UInt8                         CFragLocatorKind
  91.  
  92.  
  93. kMemoryCFragLocator                EQU        0                    ; Container is already addressable.
  94. kDataForkCFragLocator            EQU        1                    ; Container is in a file's data fork.
  95. kResourceCFragLocator            EQU        2                    ; Container is in a file's resource fork.
  96. kByteStreamCFragLocator            EQU        3                    ; ! Reserved for possible future use!
  97. kNamedFragmentCFragLocator        EQU        4                    ; ! Reserved for possible future use!
  98.  
  99.  
  100. ;   --------------------------------------------------------------------------------------
  101. ;   A 'cfrg' resource consists of a header followed by a sequence of variable length
  102. ;   members.  The constant kDefaultCFragNameLen only provides for a legal ANSI declaration
  103. ;   and for a reasonable display in a debugger.  The actual name field is cut to fit.
  104. ;   There may be "extensions" after the name, the memberSize field includes them.  The
  105. ;   general form of an extension is a 16 bit type code followed by a 16 bit size in bytes.
  106. ;   Only one standard extension type is defined at present, it is used by SOM's searching
  107. ;   mechanism.
  108.  
  109.  
  110.  
  111.  
  112. CFragUsage1Union        RECORD 0
  113. ;  ! Meaning differs depending on value of "usage".
  114. appStackSize             ds.l    1                ; offset: $0 (0)        ;  If the fragment is an application. (Not used by CFM!)
  115. sizeof                     EQU *                    ; size:   $4 (4)
  116.                         ENDR
  117. CFragUsage2Union        RECORD 0
  118. ;  ! Meaning differs depending on value of "usage".
  119. appSubdirID                 ds.w    1                ; offset: $0 (0)        ;  If the fragment is an application.
  120.                          ORG 0
  121. libFlags                 ds.w    1                ; offset: $0 (0)        ;  If the fragment is an import library.
  122. sizeof                     EQU *                    ; size:   $2 (2)
  123.                         ENDR
  124.  
  125.                                                             ; Bit masks for the CFragUsage2Union libFlags variant.
  126. kCFragLibUsageMapPrivatelyMask    EQU        $0001                ; Put container in app heap if necessary.
  127. CFragWhere1Union        RECORD 0
  128. ;  ! Meaning differs depending on value of "where".
  129. spaceID                     ds.l    1                ; offset: $0 (0)        ;  If the fragment is in memory.  (Actually an AddressSpaceID.)
  130.                          ORG 0
  131. forkKind                 ds.l    1                ; offset: $0 (0)        ;  If the fragment is in an arbitrary byte stream fork.
  132. sizeof                     EQU *                    ; size:   $4 (4)
  133.                         ENDR
  134. CFragWhere2Union        RECORD 0
  135. ;  ! Meaning differs depending on value of "where".
  136. forkInstance             ds.w    1                ; offset: $0 (0)        ;  If the fragment is in an arbitrary byte stream fork.
  137. sizeof                     EQU *                    ; size:   $2 (2)
  138.                         ENDR
  139.  
  140. kDefaultCFragNameLen            EQU        16
  141.  
  142. CFragResourceMember        RECORD 0
  143. architecture             ds.l    1                ; offset: $0 (0)
  144. reservedA                 ds.w    1                ; offset: $4 (4)        ;  ! Must be zero!
  145. reservedB                 ds.b    1                ; offset: $6 (6)        ;  ! Must be zero!
  146. updateLevel                 ds.b    1                ; offset: $7 (7)
  147. currentVersion             ds.l    1                ; offset: $8 (8)
  148. oldDefVersion             ds.l    1                ; offset: $C (12)
  149. uUsage1                     ds        CFragUsage1Union ; offset: $10 (16)
  150. uUsage2                     ds        CFragUsage2Union ; offset: $14 (20)
  151. usage                     ds.b    1                ; offset: $16 (22)
  152. where                     ds.b    1                ; offset: $17 (23)
  153. offset                     ds.l    1                ; offset: $18 (24)
  154. length                     ds.l    1                ; offset: $1C (28)
  155. uWhere1                     ds        CFragWhere1Union ; offset: $20 (32)
  156. uWhere2                     ds        CFragWhere2Union ; offset: $24 (36)
  157. extensionCount             ds.w    1                ; offset: $26 (38)        ;  The number of extensions beyond the name.
  158. memberSize                 ds.w    1                ; offset: $28 (40)        ;  Size in bytes, includes all extensions.
  159. name                     ds.b    16                ; offset: $2A (42)        ;  ! Actually a sized PString.
  160. sizeof                     EQU *                    ; size:   $3A (58)
  161.                         ENDR
  162. ; typedef struct CFragResourceMember *    CFragResourceMemberPtr
  163.  
  164. CFragResourceExtensionHeader RECORD 0
  165. extensionKind             ds.w    1                ; offset: $0 (0)
  166. extensionSize             ds.w    1                ; offset: $2 (2)
  167. sizeof                     EQU *                    ; size:   $4 (4)
  168.                         ENDR
  169. ; typedef struct CFragResourceExtensionHeader * CFragResourceExtensionHeaderPtr
  170.  
  171. CFragResourceSearchExtension RECORD 0
  172. header                     ds        CFragResourceExtensionHeader ; offset: $0 (0)
  173. libKind                     ds.l    1                ; offset: $4 (4)
  174. qualifiers                 ds.b    1                ; offset: $8 (8) <-- really an array of length one ;  ! Actually four PStrings.
  175.                          ORG 10
  176. sizeof                     EQU *                    ; size:   $A (10)
  177.                         ENDR
  178. ; typedef struct CFragResourceSearchExtension * CFragResourceSearchExtensionPtr
  179.  
  180.  
  181. kCFragResourceSearchExtensionKind EQU    $30EE
  182.  
  183. CFragResource            RECORD 0
  184. reservedA                 ds.l    1                ; offset: $0 (0)        ;  ! Must be zero!
  185. reservedB                 ds.l    1                ; offset: $4 (4)        ;  ! Must be zero!
  186. reservedC                 ds.w    1                ; offset: $8 (8)        ;  ! Must be zero!
  187. version                     ds.w    1                ; offset: $A (10)
  188. reservedD                 ds.l    1                ; offset: $C (12)        ;  ! Must be zero!
  189. reservedE                 ds.l    1                ; offset: $10 (16)        ;  ! Must be zero!
  190. reservedF                 ds.l    1                ; offset: $14 (20)        ;  ! Must be zero!
  191. reservedG                 ds.l    1                ; offset: $18 (24)        ;  ! Must be zero!
  192. reservedH                 ds.w    1                ; offset: $1C (28)        ;  ! Must be zero!
  193. memberCount                 ds.w    1                ; offset: $1E (30)
  194. firstMember                 ds        CFragResourceMember ; offset: $20 (32)
  195. sizeof                     EQU *                    ; size:   $5A (90)
  196.                         ENDR
  197. ; typedef struct CFragResource *        CFragResourcePtr
  198.  
  199.  
  200. kCurrCFragResourceVersion        EQU        1
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211. ; typedef UInt32                         CFragLoadOptions
  212.  
  213.  
  214. kReferenceCFrag                    EQU        $0001                ; Try to use existing copy, increment reference counts.
  215. kFindCFrag                        EQU        $0002                ; Try find an existing copy, do not increment reference counts.
  216. kPrivateCFragCopy                EQU        $0005                ; Prepare a new private copy.  (kReferenceCFrag | 0x0004)
  217.  
  218.  
  219. kUnresolvedCFragSymbolAddress    EQU        0
  220.  
  221. ; typedef UInt8                         CFragSymbolClass
  222.  
  223.  
  224. kCodeCFragSymbol                EQU        0
  225. kDataCFragSymbol                EQU        1
  226. kTVectorCFragSymbol                EQU        2
  227. kTOCCFragSymbol                    EQU        3
  228. kGlueCFragSymbol                EQU        4
  229.  
  230.  
  231. ;   §
  232. ;   ===========================================================================================
  233. ;   Macros and Functions
  234. ;   ====================
  235.  
  236.  
  237.  
  238.  
  239.  
  240. ;
  241. ; pascal OSErr GetSharedLibrary(ConstStr63Param libName, CFragArchitecture archType, CFragLoadOptions loadFlags, CFragConnectionID *connID, Ptr *mainAddr, Str255 errMessage)
  242. ;
  243.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  244.         Macro
  245.         _GetSharedLibrary
  246.             move.w              #$0001,-(sp)
  247.             dc.w                $AA5A
  248.         EndM
  249.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  250.         IMPORT_CFM_FUNCTION GetSharedLibrary
  251.     ENDIF
  252.  
  253. ;
  254. ; pascal OSErr GetDiskFragment(const FSSpec *fileSpec, UInt32 offset, UInt32 length, ConstStr63Param fragName, CFragLoadOptions loadFlags, CFragConnectionID *connID, Ptr *mainAddr, Str255 errMessage)
  255. ;
  256.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  257.         Macro
  258.         _GetDiskFragment
  259.             move.w              #$0002,-(sp)
  260.             dc.w                $AA5A
  261.         EndM
  262.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  263.         IMPORT_CFM_FUNCTION GetDiskFragment
  264.     ENDIF
  265.  
  266. ;
  267. ; pascal OSErr GetMemFragment(void *memAddr, UInt32 length, ConstStr63Param fragName, CFragLoadOptions loadFlags, CFragConnectionID *connID, Ptr *mainAddr, Str255 errMessage)
  268. ;
  269.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  270.         Macro
  271.         _GetMemFragment
  272.             move.w              #$0003,-(sp)
  273.             dc.w                $AA5A
  274.         EndM
  275.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  276.         IMPORT_CFM_FUNCTION GetMemFragment
  277.     ENDIF
  278.  
  279. ;
  280. ; pascal OSErr CloseConnection(CFragConnectionID *connID)
  281. ;
  282.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  283.         Macro
  284.         _CloseConnection
  285.             move.w              #$0004,-(sp)
  286.             dc.w                $AA5A
  287.         EndM
  288.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  289.         IMPORT_CFM_FUNCTION CloseConnection
  290.     ENDIF
  291.  
  292. ;
  293. ; pascal OSErr FindSymbol(CFragConnectionID connID, ConstStr255Param symName, Ptr *symAddr, CFragSymbolClass *symClass)
  294. ;
  295.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  296.         Macro
  297.         _FindSymbol
  298.             move.w              #$0005,-(sp)
  299.             dc.w                $AA5A
  300.         EndM
  301.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  302.         IMPORT_CFM_FUNCTION FindSymbol
  303.     ENDIF
  304.  
  305. ;
  306. ; pascal OSErr CountSymbols(CFragConnectionID connID, long *symCount)
  307. ;
  308.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  309.         Macro
  310.         _CountSymbols
  311.             move.w              #$0006,-(sp)
  312.             dc.w                $AA5A
  313.         EndM
  314.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  315.         IMPORT_CFM_FUNCTION CountSymbols
  316.     ENDIF
  317.  
  318. ;
  319. ; pascal OSErr GetIndSymbol(CFragConnectionID connID, long symIndex, Str255 symName, Ptr *symAddr, CFragSymbolClass *symClass)
  320. ;
  321.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  322.         Macro
  323.         _GetIndSymbol
  324.             move.w              #$0007,-(sp)
  325.             dc.w                $AA5A
  326.         EndM
  327.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  328.         IMPORT_CFM_FUNCTION GetIndSymbol
  329.     ENDIF
  330.  
  331.  
  332.  
  333. ;   §
  334. ;   ===========================================================================================
  335. ;   Initialization & Termination Routines
  336. ;   =====================================
  337.  
  338.  
  339.  
  340.  
  341.  
  342. ;   -----------------------------------------------------------------------------------------
  343. ;   A fragment's initialization and termination routines are called when a new incarnation of
  344. ;   the fragment is created or destroyed, respectively.  Exactly when this occurs depends on
  345. ;   what kinds of section sharing the fragment has and how the fragment is prepared.  Import
  346. ;   libraries have at most one incarnation per process.  Fragments prepared with option
  347. ;   kPrivateCFragCopy may have many incarnations per process.
  348. ;   The initialization function is passed a pointer to an initialization information structure
  349. ;   and returns an OSErr.  If an initialization function returns a non-zero value the entire
  350. ;   closure of which it is a part fails.  The C prototype for an initialization function is:
  351. ;          OSErr    CFragInitFunction    ( const CFragInitBlock *    initBlock );
  352. ;   The termination procedure takes no parameters and returns nothing.  The C prototype for a
  353. ;   termination procedure is:
  354. ;          void    CFragTermProcedure    ( void );
  355. ;   Note that since the initialization and termination routines are themselves "CFM"-style
  356. ;   routines whether or not they have the "pascal" keyword is irrelevant.
  357.  
  358.  
  359.  
  360.  
  361.  
  362. ;   -----------------------------------------------------------------------------------------
  363. ;   ! Note:
  364. ;   ! The "System7" portion of these type names was introduced during the evolution towards
  365. ;   ! the now defunct Copland version of Mac OS.  Copland was to be called System 8 and there
  366. ;   ! were slightly different types for System 7 and System 8.  The "generic" type names were
  367. ;   ! conditionally defined for the desired target system.
  368. ;   ! Always use the generic types, e.g. CFragInitBlock!  The "System7" names have been kept
  369. ;   ! only to avoid perturbing code that (improperly) used the target specific type.
  370.  
  371.  
  372.  
  373.  
  374. CFragSystem7MemoryLocator RECORD 0
  375. address                     ds.l    1                ; offset: $0 (0)
  376. length                     ds.l    1                ; offset: $4 (4)
  377. inPlace                     ds.b    1                ; offset: $8 (8)
  378. reservedA                 ds.b    1                ; offset: $9 (9)        ;  ! Must be zero!
  379. reservedB                 ds.w    1                ; offset: $A (10)        ;  ! Must be zero!
  380. sizeof                     EQU *                    ; size:   $C (12)
  381.                         ENDR
  382. CFragSystem7DiskFlatLocator RECORD 0
  383. fileSpec                 ds.l    1                ; offset: $0 (0)
  384. offset                     ds.l    1                ; offset: $4 (4)
  385. length                     ds.l    1                ; offset: $8 (8)
  386. sizeof                     EQU *                    ; size:   $C (12)
  387.                         ENDR
  388. ;  ! This must have a file specification at the same offset as a disk flat locator!
  389. CFragSystem7SegmentedLocator RECORD 0
  390. fileSpec                 ds.l    1                ; offset: $0 (0)
  391. rsrcType                 ds.l    1                ; offset: $4 (4)
  392. rsrcID                     ds.w    1                ; offset: $8 (8)
  393. reservedA                 ds.w    1                ; offset: $A (10)        ;  ! Must be zero!
  394. sizeof                     EQU *                    ; size:   $C (12)
  395.                         ENDR
  396. CFragSystem7Locator        RECORD 0
  397. where                     ds.l    1                ; offset: $0 (0)
  398. onDisk                     ds        CFragSystem7DiskFlatLocator ; offset: $4 (4)
  399.                          ORG 4
  400. inMem                     ds        CFragSystem7MemoryLocator ; offset: $4 (4)
  401.                          ORG 4
  402. inSegs                     ds        CFragSystem7SegmentedLocator ; offset: $4 (4)
  403. sizeof                     EQU *                    ; size:   $10 (16)
  404.                         ENDR
  405. ; typedef struct CFragSystem7Locator *    CFragSystem7LocatorPtr
  406.  
  407. CFragSystem7InitBlock    RECORD 0
  408. contextID                 ds.l    1                ; offset: $0 (0)
  409. closureID                 ds.l    1                ; offset: $4 (4)
  410. connectionID             ds.l    1                ; offset: $8 (8)
  411. fragLocator                 ds        CFragSystem7Locator ; offset: $C (12)
  412. libName                     ds.l    1                ; offset: $1C (28)
  413. reservedA                 ds.l    1                ; offset: $20 (32)        ;  ! Must be zero!
  414. sizeof                     EQU *                    ; size:   $24 (36)
  415.                         ENDR
  416. ; typedef struct CFragSystem7InitBlock * CFragSystem7InitBlockPtr
  417.  
  418. CFragInitBlock            RECORD 0
  419. f                         ds        CFragSystem7InitBlock
  420. sizeof                     EQU *                    ; size:   $24 (36)
  421.                         ENDR
  422.  
  423.  
  424. ; typedef CFragSystem7InitBlockPtr         CFragInitBlockPtr
  425.  
  426. ;  These init/term routine types are only of value to CFM itself.
  427.  
  428. ;   §
  429. ;   ===========================================================================================
  430. ;   Old Name Spellings
  431. ;   ==================
  432.  
  433.  
  434.  
  435.  
  436.  
  437. ;   -------------------------------------------------------------------------------------------
  438. ;   We've tried to reduce the risk of name collisions in the future by introducing the phrase
  439. ;   "CFrag" into constant and type names.  The old names are defined below in terms of the new.
  440.  
  441.  
  442.  
  443.  
  444.  
  445. kLoadCFrag                        EQU        $0001
  446.  
  447.     IF OLDROUTINENAMES THEN
  448. ; typedef CFragConnectionID             ConnectionID
  449.  
  450. ; typedef CFragLoadOptions                 LoadFlags
  451.  
  452. ; typedef CFragSymbolClass                 SymClass
  453.  
  454. InitBlock                RECORD 0
  455. f                         ds        CFragInitBlock
  456. sizeof                     EQU *                    ; size:   $24 (36)
  457.                         ENDR
  458.  
  459.  
  460. ; typedef CFragInitBlockPtr             InitBlockPtr
  461.  
  462. MemFragment                RECORD 0
  463. f                         ds        CFragSystem7MemoryLocator
  464. sizeof                     EQU *                    ; size:   $C (12)
  465.                         ENDR
  466.  
  467.  
  468. DiskFragment            RECORD 0
  469. f                         ds        CFragSystem7DiskFlatLocator
  470. sizeof                     EQU *                    ; size:   $C (12)
  471.                         ENDR
  472.  
  473.  
  474. SegmentedFragment        RECORD 0
  475. f                         ds        CFragSystem7SegmentedLocator
  476. sizeof                     EQU *                    ; size:   $C (12)
  477.                         ENDR
  478.  
  479.  
  480. FragmentLocator            RECORD 0
  481. f                         ds        CFragSystem7Locator
  482. sizeof                     EQU *                    ; size:   $10 (16)
  483.                         ENDR
  484.  
  485.  
  486. ; typedef CFragSystem7LocatorPtr         FragmentLocatorPtr
  487.  
  488. CFragHFSMemoryLocator    RECORD 0
  489. f                         ds        CFragSystem7MemoryLocator
  490. sizeof                     EQU *                    ; size:   $C (12)
  491.                         ENDR
  492.  
  493.  
  494. CFragHFSDiskFlatLocator    RECORD 0
  495. f                         ds        CFragSystem7DiskFlatLocator
  496. sizeof                     EQU *                    ; size:   $C (12)
  497.                         ENDR
  498.  
  499.  
  500. CFragHFSSegmentedLocator RECORD 0
  501. f                         ds        CFragSystem7SegmentedLocator
  502. sizeof                     EQU *                    ; size:   $C (12)
  503.                         ENDR
  504.  
  505.  
  506. CFragHFSLocator            RECORD 0
  507. f                         ds        CFragSystem7Locator
  508. sizeof                     EQU *                    ; size:   $10 (16)
  509.                         ENDR
  510.  
  511.  
  512. ; typedef CFragSystem7LocatorPtr         CFragHFSLocatorPtr
  513.  
  514.  
  515. kPowerPCArch                    EQU        'pwpc'
  516. kMotorola68KArch                EQU        'm68k'
  517. kAnyArchType                    EQU        $3F3F3F3F
  518. kNoLibName                        EQU        0
  519. kNoConnectionID                    EQU        0
  520. kLoadLib                        EQU        $0001
  521. kFindLib                        EQU        $0002
  522. kNewCFragCopy                    EQU        $0005
  523. kLoadNewCopy                    EQU        $0005
  524. kUseInPlace                        EQU        $80
  525. kCodeSym                        EQU        0
  526. kDataSym                        EQU        1
  527. kTVectSym                        EQU        2
  528. kTOCSym                            EQU        3
  529. kGlueSym                        EQU        4
  530. kInMem                            EQU        0
  531. kOnDiskFlat                        EQU        1
  532. kOnDiskSegmented                EQU        2
  533. kIsLib                            EQU        0
  534. kIsApp                            EQU        1
  535. kIsDropIn                        EQU        2
  536. kFullLib                        EQU        0
  537. kUpdateLib                        EQU        1
  538. kWholeFork                        EQU        0
  539. kCFMRsrcType                    EQU        'cfrg'
  540. kCFMRsrcID                        EQU        0
  541. kSHLBFileType                    EQU        'shlb'
  542. kUnresolvedSymbolAddress        EQU        0
  543.  
  544. kPowerPC                        EQU        'pwpc'
  545. kMotorola68K                    EQU        'm68k'
  546.     ENDIF    ; OLDROUTINENAMES
  547.  
  548.  
  549.  
  550.  
  551.     ENDIF ; __CODEFRAGMENTS__ 
  552.  
  553.